package cn.com.dhcc.app.pub.core.util.fusioncharts;
/**
 * fusioncharts生成xml工具类
 * 
 * @日期：2014-11-28 
 * @作者：古玉龙
 * @版权所有：东华软件
 * @版本：1.0
 */
public class NewChartXmlUtil {

	public static String forXML(Chart chart){
		String strXML="";
		strXML = "<chart "+chart.getExtProperty()+" >";
		if(chart.getCategories() != null && chart.getCategories() != null){
			strXML = strXML + "<categories >";
			for(int i = 0;i < chart.getCategories().getCategory().size() ; i++){
				strXML = strXML +"<category label='"+chart.getCategories().getCategory().get(i).getLabel()+"' />";
			}
			strXML = strXML + "</categories >";
		}
		if(chart.getDataset() !=null && chart.getDataset().size() > 0 ){
			for (int i = 0; i < chart.getDataset().size(); i++) {
				strXML = strXML + "<dataset seriesName='"+chart.getDataset().get(i).getSeriesName()+"' color='"+chart.getDataset().get(i).getColor()+"' anchorBorderColor='"+chart.getDataset().get(i).getAnchorBorderColor()+"' includeInLegend ='"+chart.getDataset().get(i).getIncludeInLegend()+"'>";
				for(int j = 0; j < chart.getDataset().get(i).getSet().size(); j++){
					strXML = strXML + "<set value='"+chart.getDataset().get(i).getSet().get(j).getValue()+"' tooltext='"+chart.getDataset().get(i).getSet().get(j).getTooltext()+"'/>";
				}
				strXML = strXML + "</dataset >";
			}
		}
		if(chart.getSet() != null && chart.getSet().size() > 0 ){
			for(int i = 0; i< chart.getSet().size(); i++){
				strXML = strXML + "<set label='"+chart.getSet().get(i).getLabel()+"' value='"+chart.getSet().get(i).getValue()+"' tooltext='"+chart.getSet().get(i).getTooltext()+"'/>";
			}
		}
		strXML = strXML + "</chart>";
		return strXML;
	}
//	public static void main(String[] args) {
//		Chart chart = new Chart();
//		chart.setPalette("2");
//		chart.setCaption("Monthly Sales Summary");
//		chart.setSubCaption("For the year 2006");
//		chart.setxAxisName("Month");
//		chart.setyAxisName("Sales");
//		chart.setNumberPrefix("$");
//		chart.setShowValues("0");
//		
//		Categories categories = new Categories();
//		Category c1 = new Category();
//		List<Category> cList = new ArrayList<Category>();
//		c1.setLabel("Austria");
//		Category c2 = new Category();
//		Category c3 = new Category();
//		Category c4 = new Category();
//		Category c5 = new Category();
//		c2.setLabel("Brazil");
//		c3.setLabel("France");
//		c4.setLabel("Germany");
//		c5.setLabel("USA");
//		cList.add(c1);
//		cList.add(c2);
//		cList.add(c3);
//		cList.add(c4);
//		cList.add(c5);
//		categories.setCategory(cList);
//		chart.setCategories(categories);
//		
//		List<ChartDataset> dList = new ArrayList<ChartDataset>();
//		ChartDataset d1 = new ChartDataset();
//		d1.setSeriesName("1996");
//		d1.setShowValues("0");
//		d1.setColor("AFD8F8");
//		
//		List<ChartSet> sets1 = new ArrayList<ChartSet>();
//		ChartSet set11 = new ChartSet();
//		set11.setValue("25601.34");
//		ChartSet set12 = new ChartSet();
//		set12.setValue("20148.82");
//		ChartSet set13 = new ChartSet();
//		set13.setValue("17372.76");
//		ChartSet set14 = new ChartSet();
//		set14.setValue("35407.15");
//		ChartSet set15 = new ChartSet();
//		set15.setValue("38105.68");
//		sets1.add(set11);
//		sets1.add(set12);
//		sets1.add(set13);
//		sets1.add(set14);
//		sets1.add(set15);
//		d1.setSet(sets1);
//		
//		ChartDataset d2 = new ChartDataset();
//		
//		d2.setSeriesName("1997");
//		d2.setShowValues("0");
//		d2.setColor("F6BD0F");
//		
//		List<ChartSet> sets2 = new ArrayList<ChartSet>();
//		ChartSet set21 = new ChartSet();
//		set21.setValue("57401.85");
//		ChartSet set22 = new ChartSet();
//		set22.setValue("41941.19");
//		ChartSet set23 = new ChartSet();
//		set23.setValue("45263.37");
//		ChartSet set24 = new ChartSet();
//		set24.setValue("117320.16");
//		ChartSet set25 = new ChartSet();
//		set25.setValue("114845.27");
//		sets2.add(set21);
//		sets2.add(set22);
//		sets2.add(set23);
//		sets2.add(set24);
//		sets2.add(set25);
//		d2.setSet(sets2);
//		dList.add(d1);
//		dList.add(d2);
//		chart.setDataset(dList);
//		
//		List<Set> sets = new ArrayList<Set>();
//		Set set1 = new Set();
//		set1.setLabel("Jan");
//		set1.setValue("17400");
//		Set set2 = new Set();
//		set2.setLabel("Feb");
//		set2.setValue("18100");
//		Set set3 = new Set();
//		set3.setLabel("Mar");
//		set3.setValue("21800");
//		Set set4 = new Set();
//		set4.setLabel("Apr");
//		set4.setValue("23800");
//		Set set5 = new Set();
//		set5.setLabel("May");
//		set5.setValue("29600");
//		sets.add(set1);
//		sets.add(set2);
//		sets.add(set3);
//		sets.add(set4);
//		sets.add(set5);
//		
//		chart.setSet(sets);
		
//		System.out.println(forXML(chart));
//	}

}
